﻿using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using Bluebird.Printer;

namespace Dfass.Retail.Printing
{
    public class BasePrinterUtils
    {
        protected Printer Prntr;

        public BasePrinterUtils() {
            Prntr = new Printer();
            Prntr.Open(0);

            // EN : Wait till open correctly
            System.Threading.Thread.Sleep(100);
        }

        public void PrinterClose()
        {
            while (Prntr.WaitUntilPrintEnd() == Printer.ERROR_OVERHEAT)
            {
                // KR : Printer의 온도가 높을 경우 1초동안 대기한 후 다시 프린트를 완료하도록 한다.
                // EN : If printer temperature is high, wait for 1 secind then re-print to finish printing
                System.Threading.Thread.Sleep(1000);
            }

            // KR : 모두 프린트되면 프린터를 종료한다.
            // EN : Close printer if all printing is over
            Prntr.Close();
        }
    }
}
